package gui.main.form;

import gui.listeners.MainFrameWindowAdapter;

import java.awt.Dimension;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

import actions.main.form.AnalitikaMagacinskaKarticaIzvestaj;
import actions.main.form.AnalitikaMagacinskeKarticeAction;
import actions.main.form.ArtikalAction;
import actions.main.form.ClanPopisneKomisijeAction;
import actions.main.form.GrupaArtikalaAction;
import actions.main.form.LagerListaIzvestaj;
import actions.main.form.MagacinAction;
import actions.main.form.MagacinskaKarticaAction;
import actions.main.form.PopisnaKomisijaAction;
import actions.main.form.PopisniDokumentAction;
import actions.main.form.PoslovnaGodinaAction;
import actions.main.form.PoslovniPartneriAction;
import actions.main.form.PreduzeceAction;
import actions.main.form.PrometniDokumentAction;
import actions.main.form.RadnikAction;
import actions.main.form.SektorAction;
import actions.main.form.StavkaPopisaAction;
import actions.main.form.StavkaPrometnogDokumentaAction;

public class MainFrame extends JFrame {
	private static final long serialVersionUID = 1L;

	public static MainFrame instance;
	private JMenuBar menuBar;

	public MainFrame() {

		setSize(new Dimension(800, 600));
		setLocationRelativeTo(null);
		setTitle("Poslovna");
		setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
		setExtendedState(MAXIMIZED_BOTH);
		setUpMenu();

		addWindowListener(new MainFrameWindowAdapter());

		setJMenuBar(menuBar);

	}

	private void setUpMenu() {
		menuBar = new JMenuBar();

		JMenu orgSemaMenu = new JMenu("Organizaciona Sema");
		orgSemaMenu.setMnemonic(KeyEvent.VK_O);
		JMenuItem amkMI = new JMenuItem(new AnalitikaMagacinskeKarticeAction());
		orgSemaMenu.add(amkMI);
		JMenuItem artikalMI = new JMenuItem(new ArtikalAction());
		orgSemaMenu.add(artikalMI);
		JMenuItem cpkMI = new JMenuItem(new ClanPopisneKomisijeAction());
		orgSemaMenu.add(cpkMI);
		JMenuItem grupaArtikalaMI = new JMenuItem(new GrupaArtikalaAction());
		orgSemaMenu.add(grupaArtikalaMI);
		JMenuItem magacinMI = new JMenuItem(new MagacinAction());
		orgSemaMenu.add(magacinMI);
		JMenuItem magacinskaKarticaMI = new JMenuItem(
				new MagacinskaKarticaAction());
		orgSemaMenu.add(magacinskaKarticaMI);
		JMenuItem popisnaKomisijaMI = new JMenuItem(new PopisnaKomisijaAction());
		orgSemaMenu.add(popisnaKomisijaMI);
		JMenuItem popisniDokumentMI = new JMenuItem(new PopisniDokumentAction());
		orgSemaMenu.add(popisniDokumentMI);
		JMenuItem poslovnaGodinaMI = new JMenuItem(new PoslovnaGodinaAction());
		orgSemaMenu.add(poslovnaGodinaMI);
		JMenuItem poslovniPartneriMI = new JMenuItem(
				new PoslovniPartneriAction());
		orgSemaMenu.add(poslovniPartneriMI);
		JMenuItem preduzeceMI = new JMenuItem(new PreduzeceAction());
		orgSemaMenu.add(preduzeceMI);
		JMenuItem prometniDokumentMI = new JMenuItem(
				new PrometniDokumentAction());
		orgSemaMenu.add(prometniDokumentMI);
		JMenuItem radnikMI = new JMenuItem(new RadnikAction());
		orgSemaMenu.add(radnikMI);
		JMenuItem sektorMI = new JMenuItem(new SektorAction());
		orgSemaMenu.add(sektorMI);
		JMenuItem stavkaPopisaMI = new JMenuItem(new StavkaPopisaAction());
		orgSemaMenu.add(stavkaPopisaMI);
		JMenuItem spdMI = new JMenuItem(new StavkaPrometnogDokumentaAction());
		orgSemaMenu.add(spdMI);
		JMenuItem izvestajLagerMI = new JMenuItem(new LagerListaIzvestaj());
		orgSemaMenu.add(izvestajLagerMI);
		JMenuItem izvestajAnalitikaMI = new JMenuItem(new AnalitikaMagacinskaKarticaIzvestaj());
		orgSemaMenu.add(izvestajAnalitikaMI);
		
		menuBar.add(orgSemaMenu);

	}

	public static MainFrame getInstance() {
		if (instance == null) {
			instance = new MainFrame();
		}
		return instance;

	}

}